Decoding method and apparatus

ABSTRACT

A method of decoding is provided comprising processing iterations. In each processing iteration, there is a first Max-Log-MAP decoding operation giving rise to a systematic error due to the Max-Log approximation, and a first weighting operation to weight extrinsic information from the first decoding operation to be applied as a priori information to the second Max-Log-MAP decoding operation. This is followed by a second Max-Log-MAP decoding operation, also giving rise to a systematic error due to the Max-Log approximation, and a second weighting operation to weight extrinsic information from the second decoding to be applied as a priori information to the first Max-Log-MAP decoding of the next iteration. The weights are applied to compensate for the systematic error due to the Max-Log approximation made in the last Max-Log-MAP decoding operation.

FIELD OF THE INVENTION

The present invention relates to decoding, and more particularly, to decoding using a Max-Log-MAP decoding scheme.

DESCRIPTION OF THE RELATED ART

In the field of wireless telecommunications, in particular code division multiple access (CDMA), the demand for low-cost and low-power decoder chips, particularly for use in mobile user terminals has resulted in renewed interest in low-complexity decoders.

Several known approaches seeking to reduce complexity of an optimum Maximum A posteriori Probability (MAP) decoder are known, such as the Log-MAP and Max-Log-MAP schemes.

SUMMARY OF THE INVENTION

A method of decoding and a decoding apparatus according to the present invention are defined in the independent claims to which the reader should now refer. Preferred features are laid out in the dependent claims.

An example of the present invention is a method of decoding comprising processing iterations. In each processing iteration, there is a first Max-Log-MAP decoding operation giving rise to a systematic error due to the Max-Log approximation, and a first weighting operation to weight extrinsic information from the first decoding operation to be applied as a priori information to the second Max-Log-MAP decoding operation. This is followed by a second Max-Log-MAP decoding operation, also giving rise to a systematic error due to the Max-Log approximation, and a second weighting operation to weight extrinsic information from the second decoding to be applied as a priori information to the first Max-Log-MAP decoding of the next iteration. The weights are applied to compensate for the systematic error due to the Max-Log approximation made in the last Max-Log-MAP decoding operation.

It can thus be considered that a modification to a known Max-Log-MAP iterative decoder is provided, basically using correction weights for the extrinsic information at each iteration in order to correct the error caused by the Max-Log approximation in the extrinsic information provided by the previous decoding iteration. This can be achieved by applying optimised weight factors to the extrinsic information in each decoding iteration. Applying such weights not only allows the inherent advantages of a Max-Log-MAP decoder to be kept, such as of low complexity and insensitivity to input scaling, but tends to result in improved performance.

BRIEF DESCRIPTION OF THE DRAWINGS

An embodiment of the present invention will now be described by way of example and with reference to the drawings, in which:

FIG. 1 is a diagram illustrating a turbo-decoder for parallel concatenated codes (PRIOR ART),

FIG. 2 is a diagram illustrating a known Max-Log-MAP decoder (PRIOR ART),

FIG. 3 is a diagram illustrating a Max-Log-MAP decoder according to the present invention,

FIG. 4 is a diagram illustrating determination of weights to be applied to the Max-Log-MAP decoder shown in FIG. 3, and

FIG. 5 is a diagram illustrating a turbo-decoder for parallel concatenated codes including the Max-Log-MAP decoder shown in FIGS. 3 and 4.

DETAILED DESCRIPTION

As background, turbo-coding will first be explained generally, before focussing in on Log-MAP decoding and then Max-Log-MAP decoding. An improvement to Max-Log-MAP decoding will then be presented.

Turbo-decoding

FIG. 1 shows a known turbo-decoder 2 for a parallel concatenated code of rate ⅓ (i.e. where one information bit has two associated parity bits), as presented for example in the book by B. Vucetic and J.Yuan, entitled “Turbo codes”, published by Kluwer Academic Publishers, 2000. The code is termed parallel concatenated because two known recursive systematic convolutional encoders (not shown) within a turbo-encoder (not shown) have operated on the same set of input bits rather than one encoding the output of the other.

Given systematic (i.e. information) bit x_(t,0) and parity (i.e. check sequence) bits x_(t,1) and x_(t,2), generated at the turbo-encoder (not shown) and assuming transmission through an additive white gaussian noise (AWGN) channel at time t, the corresponding received signals at the turbo-decoder 2 may be written as Λ_(c)(x_(t,0)), Λ_(c)(x_(t,1)) and Λ_(c)(x_(t,2)). Turbo decoding is performed in an iterative manner using two soft-output decoders 4,6, with the objective of improving data estimates from iteration i to iteration i+1. Each soft-output decoder 4,6 generates extrinsic information Λ_(e) ^(i)(x_(t)) on the systematic bits which then serves as a priori information Λ_(a) ^(i)(x_(t,0)) for the other decoder 6,4. Extrinsic information is the probabilistic information gained on the reliability of the systematic bits. This information is improved on through decoding iterations. In order to minimise the probability of error propagation, the decoders 4, 6 are separated by interleaving process such that extrinsic information bits passing from decoder 4 to decoder 6 are interleaved, and extrinsic information bits passing from decoder 6 to decoder 4 are de-interleaved.

As regards, a choice of soft output decoders, 4,6, a maximum a posteriori probability (MAP) scheme would be the optimum decoding scheme in the sense that it results in a minimum probability of bit error. However, the MAP scheme is computationally complex and, as a result is usually implemented in the logarithmic domain in the form of Log-MAP or Max-Log-MAP scheme. While the former is a mathematical equivalent of MAP, the latter scheme involves an approximation which results in even lower complexity, albeit at the expense of some degradation in performance.

For further background, the reader is referred to the book by B. Vucetic and J. Yuan, entitled “Turbo codes”, published by Kluwer Academic Publishers, 2000.

Log-MAP Algorithm

The known log-domain implementation of the MAP scheme requires log-likelihood ratios (LLR) of the transmitted bits at the input of the decoder. These LLRs are of the form

$\begin{matrix} {{\Lambda(x)} = {{\log\;\frac{\Pr\left( {x = {+ 1}} \right)}{\Pr\left( {x = {- 1}} \right)}} = {\frac{2}{\sigma_{n}^{2}}r}}} & (1) \end{matrix}$

where Pr(A) represents the probability of event A, x is the value of the transmitted bit, r=x+n is the received signal at the output of an additive white gaussian noise (AWGN) channel where x is the data value, and n is the noise assumed to have an expected value E{|n|²}=σ_(n) ² where σ_(n) ² is the variance of the noise.

Given LLRs for the systematic and parity bits as well as a priori LLRs for the systematic bits, the Log-MAP decoder computes new LLRs for the systematic bits as follows:

$\begin{matrix} \begin{matrix} {{\Lambda\left( x_{t,0} \right)} = {\log\frac{\sum\limits_{t = 0}^{M_{s} - 1}{\exp\left\{ {{{\overset{\_}{\alpha}}_{t - 1}\left( l^{\prime} \right)} + {{\overset{\_}{\gamma}}_{t}^{1}\left( {l^{\prime},l} \right)} + {{\overset{\_}{\beta}}_{t}(l)}} \right\}}}{\sum\limits_{t = 0}^{M_{s} - 1}{\exp\left\{ {{{\overset{\_}{\alpha}}_{t - 1}\left( l^{\prime} \right)} + {{\overset{\_}{\gamma}}_{t}^{0}\left( {l^{\prime},l} \right)} + {{\overset{\_}{\beta}}_{t}(l)}} \right\}}}}} \\ {= {{\Lambda_{a}\left( x_{t} \right)} + {\Lambda_{c}\left( x_{t} \right)} + {\Lambda_{e}\left( x_{t} \right)}}} \end{matrix} & (2) \end{matrix}$ where γ_(t) ^(q)(l′,l) denotes the logarithmic transition probability for a transition from state l′ to state l of the encoder trellis at time instant t given that the systematic bit takes on value q{1,0} and M_(s) is the total number of states in the trellis. (For further explanation of trellis structures the reader is again referred to the Vucetic and Yuan book).

Note that the new information at the decoder output regarding the systematic bits is encapsulated in the extrinsic information term Λ_(e)(x_(t,0)). Coefficients α_(t)(l′) are accumulated measures of transition probability at time t in the forward direction in the trellis. Coefficients β_(t)(l) are accumulated measures of transition probability at time t in the backward direction in the trellis. For a data block corresponding to systematic bits x_(1,0) to x_(t,0) and parity bits x_(1,1) to x_(t,1), these coefficients are calculated as described below.

Using the following initial values in a forward direction: α ₀(0)=0 and α ₀ (l)=−∞ for l≠0  (3), the coefficients are calculated as

$\begin{matrix} {{{{\overset{\_}{\gamma}}_{t}^{q}\left( {l^{\prime},l} \right)} = \frac{{\left\{ {{\Lambda_{a}\left( x_{t,0} \right)} + {\Lambda_{c}\left( x_{t,0} \right)}} \right\} x_{t,0}^{q}} + {{\Lambda_{c}\left( x_{t,1} \right)}x_{t,1}^{q}}}{2}},\mspace{14mu}{and}} & (4) \\ {{{\overset{\_}{\alpha}}_{t}(l)} = {\sum\limits_{l^{\prime} = 0}^{M_{s} - 1}{\sum\limits_{q \in {({0,1})}}{\exp{\left\{ {{{\overset{\_}{\alpha}}_{t - 1}\left( l^{\prime} \right)} + {{\overset{\_}{\gamma}}_{t}^{q}\left( {l^{\prime},l} \right)}} \right\}.}}}}} & (5) \end{matrix}$

Using the following initial values in the backward direction: β _(t)(0)=0 and β _(t)(l)=−∞ for l≠0   (6), the coefficients are calculated as

$\begin{matrix} {{{\overset{\_}{\beta}}_{t}(l)} = {\sum\limits_{l^{\prime} = 0}^{M_{s} - 1}{\sum\limits_{q \in {({0,1})}}{\exp{\left\{ {{{\overset{\_}{\beta}}_{t + 1}\left( l^{\prime} \right)} + {{\overset{\_}{\gamma}}_{t + 1}^{q}\left( {l,l^{\prime}} \right)}} \right\}.}}}}} & (7) \end{matrix}$

Equation (2) is readily implemented using the known Jacobian equality log(e ^(δ) ¹ +e ^(δ) ² =max(δ₁,δ₂)+log(1+e ^(−|δ) ² ^(−δ) ¹ ^(|))  (8) and using a look up table to evaluate the correction function log(1+e^(−δ) ² ^(−δ) ¹ ^(|)). Max-Log-MAP decoding

It is known that the complexity of the Log-MAP scheme can be further reduced by using the so-called Max-Log approximation, namely log(e ^(δ) ¹ +e ^(δ) ² + . . . )≈max(δ₁,δ₂, . . . )  (9) for evaluating Equation (2). (log, of course, denotes natural logarithm, i.e. log_(e)). The Max-Log-MAP scheme is often the preferred choice for implementing a MAP decoder, for example as shown in FIG. 2, since it has the advantage that its operation is insensitive to a scaling of the input LLRs. This means that knowledge or estimation of the channel's noise variance σ_(n) ² is not required.

However, the known Max-Log approximation leads to accumulating a bias in the decoder output (extrinsic information), i.e. the Max-Log approximation results in biased soft outputs. A bias is, of course, an average of errors over time. This is due to the fact that the known Max-Log-MAP scheme uses the mathematical approximation of Equation (9) to simplify the computation of extrinsic information Λ_(e)(X_(t,0)). This approximation results in an error which accumulates from iteration to iteration and impedes the convergence of the turbo-decoder. Since in a turbo-decoder, each decoder output becomes a priori information for the following decoding process, the bias leads to sub-optimal combining proportions between the channel input and the a priori information, thereby degrading the performance of the decoder. In consequence, the known turbo-decoding process may not converge when the known Max-Log-MAP scheme is used for the constituent decoding processes.

Maximum Mutual Information Combining

The inventors recognised these errors as a problem and so wanted to correct for such errors in an efficient manner whilst maintaining the benefits of the Max-Log-MAP approach.

As mentioned above (see Equation (4)), the central operation in the known Max-Log-MAP scheme is the computation of logarithmic transition probabilities of the form

$\begin{matrix} {{{\overset{\_}{\gamma}}_{t}^{q}\left( {l^{\prime},l} \right)} = {\frac{1}{2}\left\{ {{\left\{ {{\Lambda_{a}\left( x_{t,0} \right)} + {\Lambda_{c}\left( x_{t,0} \right)}} \right\} x_{t,0}^{q}} + {{\Lambda_{c}\left( x_{t,1} \right)}x_{t,1}^{q}}} \right\}}} & (10) \end{matrix}$ where Λ_(a)(X_(t,0)), Λ_(c)(x_(t,0)) and Λ_(c)(x_(t,l)) are inputs to the constituent decoder.

The inventors realised that bias produced by the Max-Log-MAP scheme should be corrected by appropriate scaling of the terms Λ_(a)(X_(t,0)) and Λ_(c)(X_(t,0)) in the above equation by weights W_(a) ^(i) and w_(e) ^(i), resulting in

$\begin{matrix} {{{\overset{\_}{\gamma}}_{t}^{q}\left( {l^{\prime},l} \right)} = {\frac{1}{2}\left\{ {{\left\{ {{w_{a}^{i}{\Lambda_{a}\left( x_{t,0} \right)}} + {w_{c}^{i}{\Lambda_{c}\left( x_{t,0} \right)}}} \right\} x_{t,0}^{q}} + {{\Lambda_{c}\left( x_{t,1} \right)}x_{t,1}^{q}}} \right\}}} & (11) \end{matrix}$ where i represents the iteration index. This is illustrated in FIG. 3, which shows a weight W_(a) ^(i) applied to a priori information Λ_(a)(X_(t,0)), and a weight w_(c) ^(i) applied to systematic information (LLRs) Λ_(c)(X_(t,0)) applied to a Max-Log-MAP decoder. The weights are normalised as described later in this text such that the ratio between the LLRs representing systematic and parity bits is not disturbed.

This correction is simple and effective, and retains the advantage of Max-Log-MAP decoding in that soft inputs in the form of scaled LLRs are accepted.

Determination of Weights

The optimum values of the weights W_(a) ^(i) and W_(c) ^(i) to be applied are those that maximise the transfer of mutual information from one Max-Log-MAP decoder to the other at every iteration. Mutual information is, of course the level of information as to knowledge of a data sequence. These optimum values can be mathematically written as

$\begin{matrix} {\begin{bmatrix} w_{{OPT},a}^{i} \\ w_{{OPT},c}^{i} \end{bmatrix} = {\left( R_{ɛ}^{i} \right)^{\frac{T}{2}}{eig}_{\max}\left\{ {\left( R_{ɛ}^{i} \right)^{\frac{- 1}{2}}\left( R_{\lambda + ɛ}^{i} \right)^{\frac{T}{2}}\left( R_{ɛ}^{i} \right)^{\frac{- T}{2}}} \right\}}} & (12) \end{matrix}$ where eig_(max)(A) denotes the eigenvector corresponding to the largest eigenvalue of matrix A, and R are correlation matrices defined later on in this text. Equation (12) has more than one solution, but any of the solutions is optimum in maximising mutual information.

The above-mentioned optimum weights are both normalised (divided) by W_(OPT,C) ^(i) so that the weights to be applied become

$\begin{matrix} {\begin{bmatrix} w_{{OPT},a}^{i} \\ w_{{OPT},c}^{i} \end{bmatrix}->\begin{bmatrix} {w_{{OPT},a}^{i}/w_{{OPT},c}^{i}} \\ 1 \end{bmatrix}} & (13) \end{matrix}$

This normalisation is required to ensure that the natural ratio between Λ_(c)(x_(t,0)) and Λ_(c)(x_(t,1)) remains undisturbed.

Computation of the weights in Equation (12) requires the (2×2) matrices R_(ε) ^(i)=R^(i) _(λ+ε)−R^(i) _(λ) and R^(i) _(λ+ε) to be computed. These are:

$R_{\lambda + ɛ}^{i} = \begin{bmatrix} {E\left\{ {{\Lambda_{a}^{i}\left( x_{t,0} \right)}{\Lambda_{a}^{i}\left( x_{t,0} \right)}} \right\}} & {E\left\{ {{\Lambda_{a}^{i}\left( x_{t,0} \right)}{\Lambda_{c}^{i}\left( x_{t,0} \right)}} \right\}} \\ {E\left\{ {{\Lambda_{c}^{i}\left( x_{t,0} \right)}{\Lambda_{a}^{i}\left( x_{t,0} \right)}} \right\}} & {E\left\{ {{\Lambda_{c}^{i}\left( x_{t,0} \right)}{\Lambda_{c}^{i}\left( x_{t,0} \right)}} \right\}} \end{bmatrix}$ $R_{\lambda}^{i} = \begin{bmatrix} {E\left\{ {{\lambda_{a}^{i}\left( x_{t,0} \right)}{\lambda_{a}^{i}\left( x_{t,0} \right)}} \right\}} & {E\left\{ {{\lambda_{a}^{i}\left( x_{t,0} \right)}{\lambda_{c}^{i}\left( x_{t,0} \right)}} \right\}} \\ {E\left\{ {{\lambda_{c}^{i}\left( x_{t,0} \right)}{\lambda_{a}^{i}\left( x_{t,0} \right)}} \right\}} & {E\left\{ {{\lambda_{c}^{i}\left( x_{t,0} \right)}{\lambda_{c}^{i}\left( x_{t,0} \right)}} \right\}} \end{bmatrix}$ where Λ_(a) ^(i)(x_(t,0))=λ_(t,a) ^(i)+ε_(t,a) ^(i) and Λ_(c) ^(i)(x_(t,0))=λ_(t,c) ^(i)+ε_(t,c) ^(i), where λ_(t,a) ^(i) and λ_(t,c) ^(i) are the notional uncorrupted LLR values, ε_(t,a) ^(i) and ε_(t,c) ^(i) are the errors in LLR as detected compares to the notional uncorrupted LLR values, and “E” denotes statistical mean.

It is proposed that the above statistical means be computed by averaging over a number of data blocks containing a total of say, N, information bits. In other words:

$\begin{matrix} {R_{\lambda + ɛ}^{i} = {\begin{bmatrix} {\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{a}^{i}\left( x_{t,0} \right)}{\Lambda_{a}^{i}\left( x_{t,0} \right)}}}} & \left. {\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{a}^{i}\left( x_{t,0} \right)}{\Lambda_{c}^{i}\left( x_{t,0} \right)}}}} \right\} \\ {\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{c}^{i}\left( x_{t,0} \right)}{\Lambda_{a}^{i}\left( x_{t,0} \right)}}}} & {\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{c}^{i}\left( x_{t,0} \right)}{\Lambda_{c}^{i}\left( x_{t,0} \right)}}}} \end{bmatrix}\mspace{14mu}{and}}} & (14) \\ {R_{\lambda}^{i} = {\begin{bmatrix} {\alpha^{i}\alpha^{i}} & {\alpha^{i}\beta^{i}} \\ {\alpha^{i}\beta^{i}} & {\beta^{i}\beta^{i}} \end{bmatrix}\mspace{14mu}{where}}} & (15) \\ {\alpha^{i} = {{\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{a}^{i}\left( x_{t,0} \right)}x_{t,0}\mspace{31mu}\beta^{i}}}} = {\frac{1}{N}{\sum\limits_{t = 1}^{N}{{\Lambda_{c}^{i}\left( x_{t,0} \right)}x_{t,0}}}}}} & (16) \end{matrix}$

The above operations to determine weights are performed only once and off-line.

The averaging operations defined by equation (16) are undertaken in the average determining processor 8 shown in FIG. 4. Weight determinator 10 then calculated the weights according to equation (12) and normalises as per equation (13).

Example System

FIG. 5 shows, by way of review, the resulting turbo-decoder 2′ for a parallel concatenated code of rate ⅓ (i.e. where one information bit has two associated parity bits).

Given systematic (i.e. information) bit x_(t,0) and parity (i.e. check sequence) bits x_(t,1) and x_(t,2), generated at the turbo-encoder (not shown) and assuming transmission through an additive white gaussian noise (AWGN) channel at time t, the corresponding received signals at the turbo-decoder 2′ may be written as Λ_(c)(x_(t,0)), Λ_(c)(x_(t,1)) and Λ_(c)(x_(t,2)).

Turbo decoding is performed in an iterative manner using two Max-log-MAP decoders 4′,6′ of known type as described above, with the objective of improving the data estimates from iteration i to iteration i+1. Each soft-output decoder 4′,6′ generates extrinsic information Λ_(e) ^(i)(x_(t)) on the systematic bits which then serves as a priori information Λ_(a) ^(i)(x_(t,0)) for the other decoder. The Extrinsic information is the probabilistic information gained on the reliability of the systematic bits. This information is improved on through decoding iterations. In order to minimise the probability of error propagation, the decoders 4′, 6′ are separated by interleaving process such that extrinsic information bits passing from decoder 4′ to decoder 6′ are interleaved, and extrinsic information bits passing from decoder 6′ to decoder 4′ are de-interleaved.

Importantly, the a priori information is weighted as described above to remove the bias caused by the Max-log approximation.

The weights are determined by feeding the turbo-decoder with the channel outputs {Λ_(c)(x_(t,0)), Λ_(c)(x_(t,0)), Λ_(c)(x_(t,1))} t=1. . . N and performing I turbo iterations as per normal operation. By observing the constituent decoder inputs Λ_(c)(x_(t,0)) and Λ_(a)(x_(t,0)) at each iteration, the coefficients W_(a) ^(i) are computed following Equations (12) to (16) as explained above.

To review, it was found that the performance of a decoder can be improved by using the modified Max-Log-MAP decoder to approach that of a decoder using the optimum Log-MAP or MAP decoders. This is achieved at the expense of only two additional multiplications (each multiplication being to apply a weight to a priori information for each decoder) per iteration for each systematic bit. The weights are to correct for a bias caused by the Max-Log approximation. The advantages of a Max-Log-MAP decoder can be maintained, namely its insensitivity to scaling of the log-likelihood, and that an estimate of noise variance is not required.

Since the weights need only be computed once for a particular turbo-decoder, the improved decoder retains the low complexity of a Max-Log-MAP approach. The values of optimal weights to be applied can be computed off-line. 

1. A method of decoding comprising processing iterations, each processing iteration comprising: performing a first Max-Log-MAP decoding operation giving rise to a systematic error due to the Max-Log approximation, performing a first weighting operation of applying weights to extrinsic information from the first decoding operation to be applied as a priori information to a second Max-Log-MAP decoding operation, performing a second Max-Log-MAP decoding operation giving rise to a systematic error due to the Max-Log approximation, and performing a second weighting operation of applying weights to extrinsic information from the second decoding to be applied as a priori information to the first Max-Log-MAP decoding of the next iteration, in which each weighting operation is performed to compensate for the systematic error due to the Max-Log approximation made in the previous Max-Log-MAP decoding operation, in which the weights in each weighting operation have iteration-specific values.
 2. A method according to claim 1, in which, a weight is applied to a priori information which is in the form of a Log Likelihood Ratio about a parity bit, and a weight is applied to further a priori information which is in the form of a Log Likelihood Ratio about a systematic bit.
 3. A method according to claim 1, in which values of the weights to be applied relate to optimum weights, the optimum weights being optimum in maximising the transfer of mutual information from one Max-log-MAP decoding operation to the next.
 4. A method according to claim 3, in which the optimum weights are normalised to provide the weights to be applied so as to maintain a natural ratio between Λ_(c)(x_(t,0)) and Λ_(c)(x_(t,1)) undisturbed, wherein Λ_(c)(x_(t,0)) is a priori information in the form of a Log Likelihood Ratio about a systematic bit, and Λ_(c)(X_(t,1)) is a priori information in the form of a Log Likelihood Ratio about a parity bit.
 5. Decoding apparatus comprising a first Max-Log-MAP decoder, a first weight applicator, a second Max-Log-MAP decoder, and a second weight applicator, the decoder performing processing iterations, the first Max-Log-MAP decoder providing extrinsic information including a systematic error due to the Max-Log approximation, the first weight applicator being connected to the first Max-Log-MAP decoder so as to apply weights to the extrinsic information from the first decoder to compensate for the systematic error due to the Max-Log approximation and being connected to the second Max-Log-MAP decoder so as to provide the weighted extrinsic information as a priori information to the second Max-Log-MAP decoder, and the second Max-Log-MAP decoder providing extrinsic information including a systematic error due to the Max-Log approximation, the second weight applicator being connected to the second Max-Log-MAP decoder so as to apply weights to the extrinsic information from the second decoder to compensate for the systematic error due to the Max-Log approximation and being connected to the first Max-Log-MAP decoder so as to provide the weighted extrinsic information as a priori information to the first Max-Log-MAP decoder for the next processing iteration, in which the weights in each weight applicator have iteration-specific values.
 6. Decoding apparatus according to claim 5, in which, a weight is applied to a priori information which is in the form of a Log Likelihood Ratio about a parity bit, and a weight is applied to a priori information which is in the form of a Log Likelihood Ratio about a systematic bit.
 7. Decoding apparatus according to claim 5, in which values of the weights to be applied relate to optimum weights, the optimum weights being optimum in maximising the transfer of mutual information from one Max-log-MAP decoding operation to the next.
 8. Decoding apparatus according to claim 7, in which the optimum weights are normalised to provide the weights to be applied so as to maintain a natural ratio between Λ_(c)(x_(t,0)) and Λ_(c)(x_(t,1)) undisturbed, wherein Λ_(c)(X_(t,0)) is a priori information in the form of a Log Likelihood Ratio about a systematic bit, and Λ_(c)(X_(t,1)) is a priori information in the form of a Log Likelihood Ratio about a parity bit. 